In computing systems, a rotary encoder may be employed to detect an angular position or motion of a shaft. Many traditional rotary encoders use optical sensing of indicia placed around a circumference of an encoder surface or wheel. The precision of such rotary encoders is therefore limited by the minimum achievable size and spacing of the indicia. Optical sensing of indicia may also limit the ability of a traditional rotary encoder to detect a direction of rotation of a rotatable shaft of the encoder.